5546d03c0a3cdf06a3453d32924c6be16b3e868d,plugins/groovy/src/org/jetbrains/plugins/groovy/lang/editor/actions/moveUpDown/Mover.java,Mover,move,#Editor#PsiFile#,49

Before Change


  protected abstract boolean checkAvailable(Editor editor, PsiFile file);

  public final void move(Editor editor, final PsiFile file) {
    if (toMove == null || toMove2 == null) return;
    final Document document = editor.getDocument();
    final int start = getLineStartSafeOffset(document, toMove.startLine);
    final int end = getLineStartSafeOffset(document, toMove.endLine);
    range1 = document.createRangeMarker(start, end);

    String textToInsert = document.getCharsSequence().subSequence(start, end).toString();
    if (!StringUtil.endsWithChar(textToInsert, '\n')) textToInsert += '\n';

    final int start2 = document.getLineStartOffset(toMove2.startLine);
    final int end2 = getLineStartSafeOffset(document, toMove2.endLine);
    String textToInsert2 = document.getCharsSequence().subSequence(start2, end2).toString();
    if (!StringUtil.endsWithChar(textToInsert2, '\n')) textToInsert2 += '\n';
    range2 = document.createRangeMarker(start2, end2);
    if (range1.getStartOffset() < range2.getStartOffset()) {
      range1.setGreedyToLeft(true);
      range1.setGreedyToRight(false);

After Change



    final int start2 = document.getLineStartOffset(toMove2.startLine);
    final int end2 = getLineStartSafeOffset(document, toMove2.endLine);
    RangeMarker range2 = document.createRangeMarker(start2, end2);

    String textToInsert = extractTextToInsert(document, start, end, end2 != document.getTextLength());